#ifndef IINPUTDEVICE_H
#define IINPUTDEVICE_H

#include <Windows.h>

namespace imInput {
	enum InputDevType {
		IN_KEYBOARD,
		IN_MOUSE,
		IN_PAD
	};

	// Input interfaces
	class iInputDevice {
	public:
		iInputDevice(void) {};
		virtual ~iInputDevice(void) {};

		virtual HRESULT Init(HINSTANCE, HWND) = 0;
		virtual void Release(void) = 0;
		virtual void Update(void) = 0;
		virtual bool KeyDown(int) { return false; }
		virtual bool KeyUp(int) { return false; }
		virtual bool KeyPress(int) { return false; }
		virtual bool KeyRelease(int) { return false; }
		virtual long AxisPos(int) { return 0; }
	};
};

#endif